home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / mactosh / hc / homeimpr.sit / Home Improvements / card_5642.txt < prev    next >
Text File  |  1988-09-19  |  6KB  |  207 lines

  1. -- card: 5642 from stack: in
  2. -- bmap block id: 6321
  3. -- flags: 4000
  4. -- background id: 6079
  5. -- name: text editor
  6.  
  7.  
  8. -- part contents for background part 11
  9. ----- text -----
  10. Untitled
  11.  
  12. -- part contents for background part 1
  13. ----- text -----
  14. on mouseUp
  15.   doMenu "New Card"
  16.   put "untitled" into field "file name"
  17.   send tabKey
  18. end mouseUp
  19.  
  20. on mouseUp
  21.   global IOResult, theText
  22.   put empty into extension
  23.   put 0 into NoErr
  24.   put 1 into fsFromStart
  25.   put 100 into item 1 of wher
  26.   put 100 into item 2 of wher
  27.   put empty into rply
  28.   put TBxFile("SFGetFile",wher,"What file:",0,1,"TEXT",0,0) into rply
  29.   if IOResult <> noErr THEN
  30.     put "IO error on SFGetFile " & IOResult
  31.     exit mouseUp
  32.   end if
  33.   if item 1 of rply is false then exit mouseup
  34.   get item 4 of rply
  35.   put the value of it into theVRefNo
  36.   put item 6 of rply into pfname
  37.   put TBxFile("FSOpen",pfname, theVRefNo, 0) into refNo
  38.   if IOResult <> noErr THEN
  39.     put "IO error on FSOpen " & IOResult
  40.     exit mouseUp
  41.   end if
  42.   put empty into logEOF
  43.   put TBxFile("GetEOF",refNo, 0) into logEOF
  44.   if IOResult <> noErr THEN
  45.     put "IO error on GetEOF " & IOResult
  46.     exit mouseUp
  47.   end if
  48.   put the value of logEOF into Siz
  49.   If Siz>29990 Then
  50.     put Siz & " Characters in the file"
  51.     ask "File too large, start reading from:" with 0
  52.     if it is empty then exit mouseUp
  53.     put the value of it into startPt
  54.     if startPt>Siz then put Siz-29990 into startPt
  55.     put "reading from " & startPt
  56.     put TBxFile("SetFPos",refNo, fsFromStart, startPt) into io
  57.     if IOResult <> noErr THEN
  58.       put "IO error on SetFPos0 " & IOResult
  59.       put TBxFile("FSClose",refNo) into io
  60.       put TBxFile("FlushVol",NIL, theVRefNo) into io
  61.       answer "An IO error has occured."
  62.       exit mouseUp
  63.     end if
  64.     put " (partial)" into extension
  65.     put siz-startPt into siz
  66.     if siz>29990 then put 29990 into siz
  67.     hide the message window
  68.   end if
  69.   put empty into theText
  70.   put TBxFile("FSRead",refNo, siz, 0) into theText
  71.   if IOResult <> noErr then
  72.     put "IO error on Read " & IOResult
  73.     exit mouseUp
  74.   end if
  75.   put pfname & extension into field "file name"
  76.   put TBxFile("FSClose",refNo) into io
  77.   IF IOResult <> noErr THEN
  78.     put "IO error on Close " & IOResult
  79.     exit mouseUp
  80.   end if
  81.   put TBxFile("FlushVol",NIL, theVRefNo) into io
  82.   IF IOResult <> noErr THEN
  83.     put "IO error on Flush " & IOResult
  84.     exit mouseUp
  85.   end if
  86.   put theText into field "theText"
  87.   send mouseUp to field "stats"
  88.   clickField
  89. end mouseUp
  90.  
  91. on mouseUp
  92.   global IOResult, theText
  93.   put field "file name" into pfname
  94.   put 0 into NoErr
  95.   put -43 into fnfErr
  96.   put 1 into fsFromStart
  97.   put 100 into item 1 of wher
  98.   put 100 into item 2 of wher
  99.   put empty into rply
  100.   put TBxFile("SFPutFile",wher,"Save Field as:",pfname,0,0) into rply
  101.   if IOResult <> noErr THEN
  102.     put "IO error on SFPutFile " & IOResult
  103.     exit mouseUp
  104.   end if
  105.   if item 1 of rply is false then exit mouseup
  106.   get item 4 of rply
  107.   put the value of it into theVRefNo
  108.   put item 6 of rply into pfname
  109.   put TBxFile("FSOpen",pfname, theVRefNo, 0) into refNo
  110.   if (IOResult <> noErr) AND (IOResult <> fnfErr) THEN
  111.     put "IO error on FSOpen " & IOResult
  112.     exit mouseUp
  113.   end if
  114.   if IOResult=fnfErr then
  115.     put TBxFile("Create",pfname, theVRefNo, "????","TEXT") into io
  116.     if IOResult <> noErr THEN
  117.       put "IO error on Create " & IOResult
  118.       exit mouseUp
  119.     end if
  120.     put TBxFile("FSOpen",pfname, theVRefNo, 0) into refNo
  121.     if IOResult <> noErr THEN
  122.       put "IO error on FSOpen " & IOResult
  123.       exit mouseUp
  124.     end if
  125.   else
  126.     put TBxFile("GetEOF",refNo, 0) into logEOF
  127.     if IOResult <> noErr THEN
  128.       put "IO error on GetEOF " & IOResult
  129.       exit mouseUp
  130.     end if
  131.     put TBxFile("SetFPos",refNo, fsFromStart, logEOF) into io
  132.     if IOResult <> noErr THEN
  133.       put "IO error on SetFPos " & IOResult
  134.       exit mouseUp
  135.     end if
  136.   end if
  137.   put field "theText" into theText
  138.   put the length of theText into Siz
  139.   put TBxFile("FSWrite",refNo, siz, theText) into io
  140.   if IOResult <> noErr then
  141.     put "IO error on Write " & IOResult
  142.     exit mouseUp
  143.   end if
  144.   put TBxFile("FSClose",refNo) into io
  145.   IF IOResult <> noErr THEN
  146.     put "IO error on Close " & IOResult
  147.     exit mouseUp
  148.   end if
  149.   put TBxFile("FlushVol",NIL, theVRefNo) into io
  150.   IF IOResult <> noErr THEN
  151.     put "IO error on Flush " & IOResult
  152.     exit mouseUp
  153.   end if
  154.   put pfname into field "File Name"
  155. end mouseUp
  156.  
  157. on mouseUp
  158.   send tabKey
  159.   doMenu "Copy Text"
  160.   put "The text has been copied to the clipboard."
  161.   wait 50 ticks
  162.   hide the message window
  163.   clickField
  164. end mouseUp
  165.  
  166. on mouseUp
  167.   printfield "field theText",2
  168. end mouseUp
  169.  
  170. on mouseUp
  171.   answer "Ascending or Descending?" with ┬¼
  172.   "Cancel" OR "Descending" OR "Ascending"
  173.   if it is "Cancel" then exit mouseUp
  174.   put "A" into hang
  175.   if it is "Descending" then put "D" into hang
  176.   put field "theText" into thingg
  177.   put empty into field "theText"
  178.   put sorter(thingg,hang) into field "theText"
  179.   send mouseUp to field "stats"
  180. end mouseUp
  181.  
  182. on mouseUp
  183.   if the optionKey is down then
  184.     get the short name of this card
  185.     if it is "text edit" then
  186.       answer "You cannot delete the first text edit card"
  187.       exit mouseUp
  188.     end if
  189.     answer "Delete this card?" with "Cancel" or "OK"
  190.     if it is "Cancel" then exit mouseUp
  191.     doMenu "Delete Card"
  192.     go to prev card
  193.   end if
  194.   put empty into field "theText"
  195.   put empty into field "stats"
  196.   put "Untitled" into field "file name"
  197.   doMenu "Compact Stack"
  198.   send mouseUp to field "stats"
  199.   clickField
  200. end mouseUp
  201.  
  202.  
  203.  
  204. -- part contents for background part 10
  205. ----- text -----
  206. 5300 chars
  207. 188 lines